package realdance.swing.outline;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.GridLayout;
import javax.swing.JButton;

/* GridLayout
 * 지정한 갯수만큼의 격자무늬 (grid) 의 칸 (cell)안에
 * 컴퍼넌트를 배치하는 방식
 * GridLayout 생성자를 호출할 때
 * 격자무늬의 행과 열수를 지정할 수 있음
 * 행과 열수를 지정하지 않은 경우
 * 행수는 변하지 않고 열만 하나씩 증가함
 * 단, 원하는 위치에 컴퍼넌트를 배치할 수는 없음
 * -> GridBagLayout 은 가능
 * 
 */

public class J15_GridLayoutFrame extends JFrame {

	private JPanel contentPane;

	/*
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					J15_GridLayoutFrame frame = new J15_GridLayoutFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
			}
		}
	});
}

	/**
	 * Create the frame.
	 */
	public J15_GridLayoutFrame() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new GridLayout(2, 4, 15, 15));
		
		JPanel panel_3 = new JPanel();
		contentPane.add(panel_3);
		
		JPanel panel_4 = new JPanel();
		contentPane.add(panel_4);
		
		JPanel panel_1 = new JPanel();
		contentPane.add(panel_1);
		
		JButton btnNewButton = new JButton("New button");
		panel_1.add(btnNewButton);
		
		JPanel panel = new JPanel();
		contentPane.add(panel);
		
		JButton btnNewButton_1 = new JButton("New button");
		panel.add(btnNewButton_1);
		
		JPanel panel_5 = new JPanel();
		contentPane.add(panel_5);
		
		JPanel panel_2 = new JPanel();
		contentPane.add(panel_2);
}

}
